package com.haixiaoke.saas.messageCenter.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 推送记录信息对象 biz_push_record
 *
 * @author xiaolong
 * @date 2024-11-19
 */
@Data
public class PushRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 推送记录id
     */
    private Long pushRecordId;

    /**
     * 所属机构
     */
    @Excel(name = "所属机构")
    private String tenantId;

    /**
     * 机构名称
     */
    @Excel(name = "机构名称")
    private String tenantName;

    /**
     * 模板名称
     */
    @Excel(name = "模板名称")
    private String templateName;

    /**
     * 模板编码
     */
    @Excel(name = "模板编码")
    private String templateCode;

    /**
     * 推送渠道：1.企业微信，2.钉钉，3.商家小程序，4.租客小程序
     */
    @Excel(name = "推送渠道：1.企业微信，2.钉钉，3.商家小程序，4.租客小程序")
    private String pushChannel;

    /**
     * 推送条件编码
     */
    @Excel(name = "推送条件编码")
    private String pushConditionCode;

    /**
     * 推送结果
     */
    @Excel(name = "推送结果")
    private String pushResult;

    /**
     * 消息标题
     */
    @Excel(name = "消息标题")
    private String messageHeader;

    /**
     * 消息内容
     */
    @Excel(name = "消息内容")
    private String messageContent;

    /**
     * 触发行为：1.立即推送，2.定时推送，3.重复推送，4.指定条件推送
     */
    @Excel(name = "触发行为：1.立即推送，2.定时推送，3.重复推送，4.指定条件推送")
    private String triggeringBehavior;

    /**
     * 触发时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "触发时间")
    private String triggeringTime;

    /**
     * 推送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pushTime;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long userId;

    /**
     * 接收人
     */
    @Excel(name = "接收人")
    private String recipient;

    /**
     * 业务id
     */
    @Excel(name = "业务id")
    private String businessId;

    /**
     * 消息状态：0.已读；1.未读
     */
    @Excel(name = "消息状态：0.已读；1.未读")
    private String messageState;

    /**
     * 消息类型：1.应用外，2.应用内
     */
    @Excel(name = "消息类型：1.应用外，2.应用内")
    private String messageType;

    /**
     * 操作人id
     */
    @Excel(name = "操作人id")
    private Long operatorId;

    /**
     * 业务类型(1.工单,2.订单,3.租客合同)
     */
    @Excel(name = "业务类型(1.工单,2.订单,3.租客合同)")
    private String businessType;

    /**
     * 条件名称
     */
    private String conditionName;


}
